package gov.mmgt.netmanager.operate;

import gov.mmgt.netmanager.vo.NetworkInfoVO;

import java.util.List;

/**
 * 
 * Copyright (c) 2009,niux<br>
 * All rights reserved.<br>
 * 
 * 文件名称：GetNetworkInfoByJNI.java<br>
 * 摘    要：通过JNI调用DLL获取网卡信息类<br>
 * <br>
 * 当前版本：<br>
 * 作    者：铭显 Email: <a href="mailto:liangmingxian@gmail.com">liangmingxian@gmail.com</a><br>
 * 完成日期：@since 2014-5-22<br>
 * <br>
 * 取代版本：<br>
 * 原作者  ：<br>
 * 完成日期：@since Oct 22, 2009<br>
 */
public class GetAdapterInfoByJNI {
	static{
//            System.loadLibrary("getNetworkInfo");
            System.load(System.getProperty("user.dir") + java.io.File.separator + "getAdapterInfo.dll");
    }
	
	/**
	 * 
	 * 方法概述：获取网卡列表
	 * 描述：获取网卡列表
	 * @return
	 * 返回类型：List<NetworkInfoVO>
	 * 修改人：梁铭显
	 * 修改时间：2014-5-22
	 */
	public native static List<NetworkInfoVO> getAdapterList();

	public native String sayHello();
	
	public static void main(String[] args) {
//		GetNetworkInfoByJNI t = new GetNetworkInfoByJNI();
//		System.out.println(t.sayHello());
		System.out.println(System.getProperty("user.dir"));
		
		List<NetworkInfoVO> networkList = GetAdapterInfoByJNI.getAdapterList();
		
		for(NetworkInfoVO n : networkList){
			System.out.println("=================================================");
			System.out.println(n.getName());
			System.out.println(n.getDescription());
			System.out.println(n.getMac());
			System.out.println(n.getIp());
			System.out.println(n.getGateway());
			System.out.println("=================================================");
		}
	}
}
